The Bluetooth™ (BT) protocol has resulted from the National Telecommunications Act opening new public access to the ultra high frequency (UHF) and very high frequency (VHF) bands. As a direct consequence, wireless local area networking is rapidly evolving as the communications standard for small and mobile corporations and other organizations. An important aspect of these new wireless networks is the integration of household (and business office) appliances, laptop computers, and personal communications service (PCS) devices. This technology, called BT, seamlessly connects each intelligent appliance in a household or an office within a “piconet” (implying a very small) wireless network.
BT is an embedded, low-power, short-range, radio-frequency (RF) technology, although it can also be IR media-based with moderate bandwidth. BT is particularly attractive for exchanging data between personal devices such as cellular phones, radios, pagers, personal digital assistants, notebook computers, video and still cameras, audio players, and local area networks (LANs).
With an operating range of 10 meters or less, the reach of BT exceeds the current range of IR, but falls far short of other types of wireless networks. BT is implemented at 2.4 GHz in the Industrial, Scientific, and Medical (ISM) band.
The BT architecture integrates a combination of hardware and software into the networking device. The hardware is an embeddable module, or a module residing on a card, which interfaces with the host device. It interfaces on one side with the host and on the other side with another BT device via its RF or IR transceiver. On the host side, there are four currently identified interfaces: the universal serial bus (USB), the PC card (or PCMCIA), and two serial interfaces, UART and RS232. All of these have established standards that define the physical and logical interaction. However, the higher level interaction between the BT device and the host is defined in unique BT protocols and packets.
As can be seen in FIG. 1, the software includes salutation and security managers, a database, and the protocol stack. The transport technology is digital packet-oriented communications (rather than analog or streaming digital). Communication with the host includes hardware control and event monitor packet types. Asynchronous connection-oriented (ACO) and synchronous connection-oriented (SCO) packets are used for the link communication between devices, with SCO used primarily for real-time audio and video. Conventional packets, such as the Telephony Communications Service (TCS) and Internet Protocol (IP), are encapsulated in the BT SCO and ACO data packets, adding one more layer to the stack and therefore one more encapsulation with its overhead. Therefore, BT requires an additional protocol stack for a PC. FIG. 1 also presents an example of the required additional protocol stack. The IrDa Object Exchange (OBEX) is required for IR interoperability. Also shown is a wireless network connection to a BT device that transfers data using a User Datagram Protocol (UDP) or a Transmission Control Protocol (TCP).
Protocols, stacks, and the salutation manager provide BT “services”. The salutation manager provides both server advertisement and client request capabilities, in addition to the brokering of services, and establishing and then managing the follow-on communication session for the discovery function. The salutation manager is typically independent of the processor operating system and communication protocol. The actual data transfer is under host control via the protocol stack constructed for the data type.
The BT salutation manager has a subordinate security manager, which is invoked when discovery is initiated. The security manager holds service and device security databases. It consults these databases when a request comes in for services. It also submits identifying information when a request for services goes out to another BT device.
The process of service discovery occurs as follows. A client device either attempts to browse another device's server for information, or it requests information about the server. It does this by providing a unique universal identification code. The queried device responds, depending on the security manager's decision, which is based on the device information in its database. If the device is a trusted unit according to the database, the requested information will be returned.
Although BT was originally designed as a replacement for wired connections between devices, it has evolved into a major radio interface candidate for personal area networking and proximity area networking. This is due at least in part to its low power consumption.
The basic unit of the BT piconet can only connect up to eight nodes. As such, technology has been developed that can connect multiple piconets to form a large scale network that is referred to as a scatternet. The scatternet is defined as a group of piconets in which connections exist between different piconets. The node that connects multiple piconets is referred to as a PMP (Participant in multiple piconet) in the BT specification. There are two types of PMP nodes. A PMP node that attends multiple piconets simultaneous only as a slave can be referred to as a S/S PMP, while a PMP node that attends multiple piconets simultaneously, and has a master role in one of the piconets, can be referred to as a M/S PMP.
The standardization activity with regard to personal area networks is discussed in the BT PAN Working group. The current BT Personal Area Network (PAN) profile only supports packet forwarding within one piconet. Issues regarding scattemet communication, such as how to switch between piconets (referred to as Inter-Piconet Switching, or IPS), and how to form a multi-hop network (referred to as Network Formation), and how to route packet within a scatternet (referred to as PAN routing) are still under discussion.
In general, it is a challenging task for a Bluetooth™ network to provide an ad hoc communication mechanism. This is due to the fact that Bluetooth™ has a very distinct medium access control (MAC) layer protocol that is optimized for short-range, point-to-point communication. On the other hand, many mobile ad hoc routing protocols have been proposed, such as one known as AODV (Ad Hoc On-Demand Distance Vector, see, for example, Mobile Ad Hoc Networking Working Group, Internet Draft, 22 Apr. 2000, Ad Hoc On-Demand Distance Vector (AODV) Routing”, Charles E. Perkins et al.)
The basic concept of AODV is that the originator of a conversation broadcasts a Route Request (RREQ) message to search for its destination; and the node that knows the route to that destination replies to the RREQ message with a Route Reply message. The originator then selects one route for packet forwarding based on the received reply or replies.
More specifically, AODV builds routes using a route request/route reply query cycle. When a source node desires a route to a destination for which it does not already have a route, it broadcasts a route request (RREQ) packet across the network. Nodes receiving this packet update their information for the source node and set up backwards pointers to the source node in the route tables. In addition to the source node's IP address, current sequence number, and broadcast ID, the RREQ also contains the most recent sequence number for the destination of which the source node is aware. A node receiving the RREQ may send a route reply (RREP) if it is either the destination or if it has a route to the destination with corresponding sequence number greater than or equal to that contained in the RREQ. If this is the case, it unicasts a RREP back to the source. Otherwise, it rebroadcasts the RREQ. Nodes keep track of the RREQ's source IP address and broadcast ID. If they receive a RREQ which they have already processed, they discard the RREQ and do not forward it.
As the RREP propagates back to the source, nodes set up forward pointers to the destination. Once the source node receives the RREP, it may begin to forward data packets to the destination. If the source later receives a RREP containing a greater sequence number, or one containing the same sequence number with a smaller hop count, it may update its routing information for that destination and begin using the better route.
As long as the route remains active, it will continue to be maintained. A route is considered active as long as there are data packets periodically traveling from the source to the destination along that path. Once the source stops sending data packets, the links will time out and eventually be deleted from the intermediate node routing tables. If a link break occurs while the route is active, the node upstream of the break propagates a route error (RERR) message to the source node to inform it of the now unreachable destination(s). After receiving the RERR, if the source node still desires the route, it can reinitiate route discovery.
AODV maintains routes for as long as the route is active. This includes maintaining a multicast tree for the life of the multicast group. Because the network nodes are mobile, it is likely that many link breakages along a route will occur during the lifetime of that route.
Most conventional routing algorithms use a number of hops to find the best route in the network. However, such multi-hop routing protocols, if implemented in a Bluetooth™ network directly, will be very inefficient, as they do not consider the Bluetooth™ network characteristics, e.g., the fact that the traffic in a Bluetooth™ network is centralized on the architectural model of the Master node and the PMP (Participant in Multiple Piconet) node.
In general, in most typical piconets the Master node does not communicate with any one particular Slave node using the maximum data transfer speed, as it is required to also service other Slave nodes. Furthermore, since the PMP node needs access to multiple Master nodes in multiple piconets, a PMP-Master link cannot provide as great a bandwidth as a Master-Slave link. The end result is that the Master and PMP nodes have a smaller degree of freedom to provide a wider bandwidth link. For example, if one were to count either the Master-Slave link or the Master-PMP link as one hop, one may select a route that passes through a heavily loaded link, while bypassing a route with sufficient bandwidth resources and a relatively light load.
As was discussed above, the existing ad hoc routing protocols do not consider the characteristics of the Bluetooth™ network. For example, they view all Bluetooth™ nodes as nodes having similar load and bandwidth capacities, and they count either the Master-Slave link or the Master-PMP link as one hop when performing a route search.
On the other hand, some existing quality of service (QoS) routing protocols do determine a maximum bandwidth route, but they do so by sharing link bandwidth information between nodes. This approach thus requires a node to use its scarce bandwidth resource for exchanging the link bandwidth-related information. Furthermore, the use of this approach may be problematic in a Bluetooth™ network, since a Bluetooth™ node's link bandwidth is typically constantly varying due to radio interference and possibly other factors. This makes it difficult or even impractical to measure and exchange the link bandwidth data in real time.
Based on the foregoing it can be appreciated that problems exist with regard to applying current routing protocols to a Bluetooth™ network as, for example, the routing protocol may not bypass a node with a small bottleneck bandwidth or heavy load, and may miss finding a better route with a larger bottleneck bandwidth or lighter load.